home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 11
/
QRZ Ham Radio Callsign Database - Volume 11.iso
/
files
/
packet
/
ax25ip.shr
/
README
< prev
next >
Wrap
Text File
|
1998-02-02
|
4KB
|
105 lines
STATUS:
Tested on a Sun3/60 and a Sun4/260 running SunOS4.1.1, using a PacComm
Tiny-2 TNC, and talking with other NOS sites in Calgary, Alberta.
INSTALL:
0. Substitute the name 'KERNEL_CONFIG_FILE' in the following steps with the
kernel configuration file for your new kernel (If in doubt, make a copy
of GENERIC, and use it).
Also, substitute 'sun3' with whatever the command 'arch -k' says
your kernel architecture is.
1. First, you need to add the device driver to the kernel. Add this line to
/usr/sys/sun3/conf/KERNEL_CONFIG_FILE.
pseudo-device ax1 init ax_attach
^ this number determines how many TNCs you can hook up.
2. splice these sections in the appropriate (fairly obvious) places in
/usr/sys/sun/str_conf.c
#include "ax.h"
#if NAX > 0
extern struct streamtab axinfo;
#endif
#if NAX > 0
{ "ax25", &axinfo },
#endif
3. add this line to /usr/sys/conf.common/files.cmn
os/tty_ax.c optional ax
4. Install the needed files in the kernel sys tree
# cp tty_ax.c /usr/sys/os
# cp if_ax.h /usr/include/sys
# cp if_ax.h /usr/sys/sys
5. Build the kernel
# cd /usr/sys/sun3/conf
# config KERNEL_CONFIG_FILE
# cd ../KERNEL_CONFIG_FILE
# make
# mv /vmunix /vmunix.save
# cp vmunix /vmunix
6. Reboot your machine to start up the new kernel.
7. Now, build the two user level programs: ax25ether and ax25, and give
it a try.
# make
8. Put your hostname in /etc/hosts with the correct IP address.
44.135.145.28 ve6uug-0
9. Ensure that the netmask for network #44 is correct. Ussually it should
be 0xffffff00. Put that in /etc/netmasks, like this.
44 255.255.255.0
(If you are running YP, you may need to rebuild the databases.
# (cd /var/yp; make)
)
10. Ensure your TNC is in KISS mode, with the proper KISS timing parameters
already set. Now we can start up the interface.
# ./ax25 -v ve6uug-0 ve6uug-0 /dev/ttyb
popping module: ttcompat
popping module: ldterm
pushing module: ax25
network device: ax0
addresses: ax25 ac.8a.6c.aa.aa.8e.60 'VE6UUG-0' = ether 99:da:55:b5:d6:70
execute: ifconfig ax0 ve6uug-0 netmask + broadcast + up
Setting netmask of ax0 to 255.255.255.0
The first instance of your callsign is resolved according to /etc/hosts
to generate an IP address. The second instance of your callsign determines
what your AX25 hardware address is, which is what other parties use to
actually send a packet to your hardware.
11. Check to see if the interface has come up.
# netstat -in
Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue
le0 1500 136.159.222.0 136.159.222.1 3871 0 1847 0 0 0
lo0 1536 127.0.0.0 127.0.0.1 339 0 339 0 0 0
ax0 1000 44.135.145.0 44.135.145.28 0 0 0 0 0 0
12. Try to talk to a few other hosts, ie. telnet, finger, etc.
BUGS:
Generally, etherfind seems to work, but only on the second and successive
attempts. The first attempt fails with an NIOCBIND error. No idea why.
Packets with digipeater addresses in their header are dropped on the floor
immediately. Proper digipeater support cannot be easily added. (My opinion:
digipeating is a dumb idea).
DTR behaviour: M_HANGUP and M_UNHANGUP streams messages are not handled
correctly. Currently, it's best to <snip> your TNC's DTR line.
OTHER NOTES:
The kernel ARP routines can only deal with 6 byte ethernet addresses. A
bizzare encoding scheme is used to encode AX25 7-byte addresses into these
6-byte addresses. When AX25 addresses are converted, the resulting ethernet
addresses always have their upper byte set to 0x99. The program ax25ether
will convert between AX25 addresses and ethernet addresses as shown using
the arp command.